package com.rightsidetech.system.service;

import com.github.pagehelper.PageInfo;
import com.rightsidetech.commom.base.DelReq;
import com.rightsidetech.commom.base.PageRequest;
import com.rightsidetech.commom.base.ResponseData;
import com.rightsidetech.commom.service.IService;
import com.rightsidetech.system.dtos.request.SysRoleAddReq;
import com.rightsidetech.system.dtos.request.SysRoleUpdateReq;
import com.rightsidetech.system.dtos.response.SysRoleDetailResp;
import com.rightsidetech.system.dtos.response.SysRoleResp;
import com.rightsidetech.system.entity.SysAgentRole;

/**
 * @Author: yhr
 * @Date: 2021-10-29 11:28
 */
public interface SysAgentRoleService extends IService<SysAgentRole,Long> {
    ResponseData<PageInfo<SysRoleResp>> page(PageRequest req, Long loginInfoId, Long isAgent) throws Exception;

    ResponseData saveSysRole(SysRoleAddReq sysRoleAddReq, Long loginInfoId, String type) throws Exception;

    ResponseData updateSysRole(SysRoleUpdateReq sysRoleUpdateReq, Long loginInfoId, String type) throws Exception;

    ResponseData delSysRole(DelReq delReq, Long loginInfoId, String type) throws Exception;

    ResponseData getResources(Long roleId, Long loginInfoId) throws Exception;

    ResponseData<SysRoleDetailResp> getRoleDetail(Long roleId) throws Exception;

    ResponseData selectList(Long loginInfoId) throws Exception;

    ResponseData selectAdminList() throws Exception;

}
